Exporter 生态速查
本篇列出日常用得最多的 exporter 和采集端,按「名称、用途、默认端口、备注」一行一个,装新组件时先来这儿对一下端口。采集配置的完整写法见[指标采集与 Exporter](/docs/observability/prometheus/指标采集与 Exporter)一篇。
常见 exporter 与采集端
| 名称 | 用途 | 默认端口 | 备注 |
|---|---|---|---|
| node_exporter | Linux/Unix 主机指标:CPU、内存、磁盘、网络 | 9100 | 装机标配,体系内最基础的 exporter |
| kube-state-metrics | K8s 对象状态:Deployment、Pod、Node 等资源的属性和状态 | 8080 | 管对象状态,不管资源用量,用量看 cAdvisor |
| cAdvisor | 容器资源用量:CPU、内存、网络、文件系统 | 4194 | K8s 里已内嵌在 kubelet 中,独立部署才用这个端口 |
| blackbox_exporter | 黑盒探测:HTTP、TCP、ICMP、DNS、TLS 证书 | 9115 | 探测目标写在 scrape 配置里,一个进程探多个目标 |
| mysqld_exporter | MySQL / MariaDB 指标 | 9104 | 需要提前建一个只读监控账号 |
| redis_exporter | Redis 指标:内存、命中率、慢查询、复制状态 | 9121 | 一个进程可以代理采集多个 Redis 实例 |
| postgres_exporter | PostgreSQL 指标:连接、事务、锁、复制延迟 | 9187 | 支持用 queries.yaml 加自定义查询指标 |
| nginx-prometheus-exporter | Nginx 连接数和请求统计 | 9113 | 依赖 Nginx 开启 stub_status 模块,指标量较少 |
| snmp_exporter | 交换机、路由器等网络设备的 SNMP 采集 | 9116 | 先用官方 generator 按设备 MIB 生成采集配置 |
| Pushgateway | 短生命周期批任务的指标推送端 | 9091 | 只给跑完就退的 job 推指标用,别当代理网关用 |
Pushgateway 的正确用法
Pushgateway 只解决一种场景:cronjob、批处理这类活不到下一次抓取的任务,跑完顺手把结果指标推过去。把它当「所有服务都往这儿推」的网关用,会丢掉 up 指标、实例标签全乱,还造出一个单点。服务类进程一律走标准抓取。
默认端口只是约定
上表端口是各项目的默认或惯用端口,部署时都能改。多台机器混部时注意端口冲突;写 scrape 配置前,先用 curl http://目标:端口/metrics 确认能抓到数据再配进 Prometheus。